#include <stdio.h>



int func(int num)
{
    char str_1[128] = "你好\n";  // 1

    for (size_t i = 0; i < num; i++) // n
    {
        printf("%ld" , i);          // n
        printf("%s" , str_1);       // n
    }
    return num;     // 1
}

// 2 + 3n
// 基本时间单位 -> 机器周期 运行一行所用的时间 t
// T = n * t

/*
1、可以去掉常数项
2、当我们遇到问题规模很大的时候，我们完全可以只考虑最高阶的项目数


--------------------------------------------------------------------
1、可以去掉常数项
--------------------------------------------------------------------
num = n
2 + 3n
n
T = O(n)

num = 800000

2 + 3 * 800000
去常数项 2 + 3 * 800000 == 1
T = O(1)

为啥 O(1) 是最有效率的时间复杂度
    不管你的 问题规模多大 最后的一个时间复杂度 是 O1

为啥 可以 去掉常数项
    因为 问题规模 n 是可以趋向 与 无穷 所以已经确定的 运行数量 可以忽略不记

--------------------------------------------------------------------
2、当我们遇到问题规模很大的时候，我们完全可以只考虑最高阶的项目数
--------------------------------------------------------------------

T(n) = n^3 + n ^ 2 + n ^ 6 + 999999

O(n^6)
*/


int main(int argc, char const *argv[])
{
    func(20);
    return 0;
}


